Wireless signals are usually blocked by barriers in the path of propagation, which leads to reflection, dispersion, attenuation and the like. In turn, the multipath effect is produced, so that signals received at antenna of a receiver are actually a linear superposition of multipath signals arriving from different paths, and those multipath signals from various paths are difference in delays, amplitudes, phases and frequencies. On the other hand, for a wireless communication system adopting code division multiple access (CDMA) technology, since the wireless interface uses different channellisation codes to differentiate users, multiple users can share the same frequency and slot resources. Theoretically, orthogonal channellisation codes can not only differentiate different users but also minimize the interference among multiple users. However, due to the limitation of multipath effect, spreading gain and system synchronization accuracy, the complete orthogonality between multiple user data is hardly to be ensured, and multiple access interference (MAI) and inter-symbol interference (ISI) are inevitably caused, system capacity and communication quality will be impaired accordingly. Thus, how to suppress MAI and ISI has drawn a wide range of attention from both academic and industrial circles.
At present, the main approaches to suppress MAI and ISI are multi-user detection (MUD) and multi-user equalizer (MUE), both of which play important roles in improving bit error rate (BER) performance and increasing system capacity. Unlike a conventional receiver that contains a matched filter only, an MUD or MUE receiver makes full use of the information from all users, even from the interferers, to suppress MAI and ISI.
One of the effective methods to eliminate the aforesaid interference is to perform joint detection on the obtained information after a matched filter. The joint detection is an ideal multi-user detection to extract all user data in parallel.
In general, the receiver estimates channel parameters using specific training sequences in various communication bursts. Also, the receiver extracts in parallel all user data, which share the same slot and frequency, by using a specific algorithm, removes the interference caused by non-target user data, and lastly obtains a target signal that has a high signal-to-noise ratio.
The method of joint detection increases the allowable range of signal fluctuation, and makes it possible to share resources by more users. Consequently, the transmission capacity of each carrier bandwidth is enhanced effectively and the spectrum efficiency is improved. However, the method of joint detection, though having many advantages, encounters a number of limitations in practice because of its high complexity and poor real time performance.
As the most universal method with low computational complexity, adaptive multi-user detection is an alternative for the current RAKE receiver in place of joint detection. Since the method does not need to extract all user data in parallel, it is much simpler than the method of joint detection.
FIG. 1 illustrates a conventional multi-user equalizer using a least-mean-square (LMS) method. This method obtains adjusted weighting parameters, which are used to weight and despread user data, by training a despread training sequence. The operation process of the equalizer consists of two stages, i.e. a training stage and a despreading stage. Hereinafter, the training stage will be described first.
In FIG. 1, x[n] denotes a received signal based on the chip rate. In the training stage, the signal is a set of known spread training sequences. Having been transmitted through different paths, the signal x[n] has different delays corresponding to each path respectively. Having been weighted by weighting modules 12-1, 12-2, . . . , 12-K, the received training signal gets bit-rate-based training sequence signals, wherein Wk* denotes a weight vector whose dimensionality equals the spreading factor, and specifically, it is a weight vector processing the kth propagation path. Then, K weight vectors, WkH (k=1, 2, . . . , K), form a weight matrix WH=[w1H|w2H| . . . wKH] The weighted training signals are summed by an adder 131 to obtain bit-rate-based despread training sequence d′[m], wherein m denotes the times the weight vector has been adjusted, and d[m] denotes a known reference training signal for a target user. An adder 132 adds d′[m] and −d[m] to obtain their difference e[m]. The difference e[m] is fed back to computing means 133 to adjust the weight coefficient Wk*. The adjusted weight coefficient Wk* is applied to each of the corresponding weighting modules 12-1, 12-2, . . . , 12-K. After times of feedback adjusting, a proper weight coefficient is obtained, which is used to perform a weight process on user data of multipath transmission. Hereinafter, the above process will be described in conjunction with mathematical expressions.
Suppose the received data x[n] is over-sampled with the over-sampling rate SF to obtain the vector X, and then:XnT=[x1T|x2T| . . . xKT]n  (1)
Here, XnT is a chip-rate-based training sequence through channel fading and sampling.
Through weighting by weight modules 12-1, 12-2, . . . , 12-K and summing by the adder 131, a chip-rate-based output signal d′[m] is obtained:d′[m]=WHXm  (2)
The error between the output signal d′[m] and the known reference signal d[m] is:e[m]=d′[m]−d[m]  (3)
The computing means 133 decides whether to finish the adjustment on the weight coefficient, and computes the adjusted weight coefficient according to the last computation results if the adjustment on the weight coefficient is not finished. There are two methods for judging whether to finish the adjustment on the weight coefficient. One method is to compute the LMS function as shown in equation (4):minw{E|e[m]2}=minw{E[(d′[m]−d[m])(d′[m]−d[m])*]}  (4)
It is determined whether to finish the adjustment on the weight coefficient by deciding whether result of the objective function is smaller than a predetermined threshold.
The other method is to, during adjusting the weight coefficient by using a training sequence of a finite length, determine whether to finish the adjustment on the weight coefficient by deciding whether the training sequence is finished.
For instance, the weight coefficient is adjusted based on the recursive discipline for the weight vector from step m to step m+1 by equation (5):Wm+1H=WmH+2μe*[m]Xm=WmH+2μ(d′[m]−d[m])*Xm  (5)
wherein μ denotes the step of the recursive operation.
For a more accurate prediction and a faster convergence speed, a normalized least mean square (NMLS) method can be used. This is an improved LMS method, in which the increment of equation (5) is normalized to obtain the following equation:
                              W                      m            +            1                    H                =                                            W              m              H                        +                                          2                ⁢                μ                ⁢                                                                  ⁢                                                      e                    *                                    ⁡                                      [                    m                    ]                                                  ⁢                                  X                  m                                                                              X                  m                  H                                ⁢                                  X                  m                                                              =                                    W              m              H                        +                          2              ⁢              μ              ⁢                                                                                          (                                                                                                    d                            ′                                                    ⁡                                                      [                            m                            ]                                                                          -                                                  d                          ⁡                                                      [                            m                            ]                                                                                              )                                        *                                    ⁢                                      X                    m                                                                                        X                    m                    H                                    ⁢                                      X                    m                                                                                                          (        6        )            
The above training step is performed recursively until the adjustment is decided to be finished by one of the above two methods. The weight coefficient obtained therefrom can be used to suppress MAI and ISI and recover the original user data successfully.
After the training stage is finished, it goes to the despreading stage, in which the despread data are obtained by weight-summing the multipath user data using the weight coefficient obtained in the training stage. Herein, XnT of equation (1) is the user data experiencing channel fading, and d′[m] of equation (2) is the despread user data. The despread data can be directly output from the adder 131 for use with a subsequent process in the receiver.
Since the above-described training method is a method for adjusting a weight coefficient based on the chip rate and the speed of parameter adjustment is limited by the feedback period, it is not suitable for a communication system that sets much higher requirements on real time.
Therefore, there is a need for a new method and device capable of fast adjusting a weight coefficient so as to meet the higher requirements of a system on real time.